using System;
using System.Windows.Forms;

namespace Microsoft.WowAddonStudio.FrameXml.Editor.ToolWindows
{
	/// <summary>
	/// System.EventArgs is the base class for classes containing event data.
	/// </summary>
	public class LayoutStateChangedEventArgs : EventArgs
	{
        /// <summary>
        /// Gets or sets a value indicating whether this <see cref="FrameControlStateChangedEventArgs"/> is state.
        /// </summary>
        /// <value><c>true</c> if state; otherwise, <c>false</c>.</value>
        public LayoutShowState State { get; set; }

        /// <summary>
        /// Gets or sets the selected node.
        /// </summary>
        /// <value>The selected node.</value>
        public TreeNode SelectedNode { get; set; }

        /// <summary>
        /// Initializes a new instance of the <see cref="LayoutStateChangedEventArgs"/> class.
        /// </summary>
        /// <param name="state">if set to <c>true</c> [state].</param>
        public LayoutStateChangedEventArgs(LayoutShowState state) : this(state, null)
        {
        }

        /// <summary>
        /// Initializes a new instance of the <see cref="LayoutStateChangedEventArgs"/> class.
        /// </summary>
        /// <param name="state">if set to <c>true</c> [state].</param>
        /// <param name="selectedNode">The selected node.</param>
        public LayoutStateChangedEventArgs(LayoutShowState state, TreeNode selectedNode)
		{
			State = state;
		    SelectedNode = selectedNode;
		}
	}
}